/*
 *    Copyright (c) 2018-2025, lengleng All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: lengleng (wangiegie@gmail.com)
 */

package com.pig4cloud.pigx.order.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 商品订单详情
 *
 * @author pigx code generator
 * @date 2023-12-06 22:48:12
 */
@Data
@TableName("order_sku_detail")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "商品订单详情")
public class OrderSkuDetail extends Model<OrderSkuDetail> {

	private static final long serialVersionUID = 1L;

	/**
	 * 订单详情ID
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@Schema(description = "订单详情ID")
	private Long id;

	/**
	 * 订单ID
	 */
	@Schema(description = "订单ID")
	private Long orderId;

	/**
	 * 商品ID
	 */
	@Schema(description = "商品ID")
	private Long spuId;

	/**
	 * 商品标题
	 */
	@Schema(description = "商品标题")
	private String spuTitle;

	/**
	 * 商品skuId
	 */
	@Schema(description = "商品skuId")
	private Long skuId;

	/**
	 * sku名称
	 */
	@Schema(description = "sku名称")
	private String skuName;

	/**
	 * sku简称
	 */
	@Schema(description = "sku简称")
	private String skuShortName;

	/**
	 * 轮播图(逗号分割，多图)
	 */
	@Schema(description = "轮播图(逗号分割，多图)")
	private String bannerImages;

	/**
	 * 积分策略ID
	 */
	@Schema(description = "积分策略ID")
	private Long pointPolicyId;

	/**
	 * 一级分润
	 */
	@Schema(description = "一级分润")
	private Long firstProfitPolicyId;

	/**
	 * 二级分润
	 */
	@Schema(description = "二级分润")
	private Long secondProfitPolicyId;

	/**
	 * 购买数量
	 */
	@Schema(description = "购买数量")
	private Integer buyCount;

	/**
	 * 销售价格
	 */
	@Schema(description = "销售价格")
	private Integer sellPrice;

	/**
	 * 市场价格
	 */
	@Schema(description = "市场价格")
	private Integer marketPrice;

	/**
	 * 成本价格
	 */
	@Schema(description = "成本价格")
	private Integer basePrice;

	/**
	 * sku基本信息(JSON格式)
	 */
	@Schema(description = "sku基本信息(JSON格式)")
	private String skuInfo;

	/**
	 * 罐装数量
	 */
	@Schema(description = "罐装数量")
	private Integer canningCount;

	/**
	 * 袋装数量
	 */
	@Schema(description = "袋装数量")
	private Integer bagCount;

	/**
	 * 条装数量
	 */
	@Schema(description = "条装数量")
	private Integer stripCount;

	/**
	 * 删除标记
	 */
	@TableLogic
	@Schema(description = "删除标记")
	private String delFlag;

	/**
	 * 创建时间
	 */
	@Schema(description = "创建时间")
	@TableField(fill = FieldFill.INSERT)
	private LocalDateTime createTime;

	/**
	 * 创建人
	 */
	@Schema(description = "创建人")
	@TableField(fill = FieldFill.INSERT)
	private String createBy;

	/**
	 * 修改时间
	 */
	@Schema(description = "修改时间")
	@TableField(fill = FieldFill.UPDATE)
	private LocalDateTime updateTime;

	/**
	 * 更新人
	 */
	@Schema(description = "更新人")
	@TableField(fill = FieldFill.UPDATE)
	private String updateBy;

}
